---------------------- |Elágazás - Szelekció| ---------------------- if -- if (feltétel) { utasítások; } Példa a használatra: int i = 24; if (i % 2 == 0) // A % a modulo vagyis maradékosztás, jelen esetben i 2-vel való osztási maradékát jelenti { text("Páros, vagy 0", 400, 300); } if, else -------- if (feltétel) { utasítások_1; } else { utasítások_2; } Példa a használatra: int i = 23; if (i % 2 == 0) // Bármely szám 2-vel történő osztási maradéka 0 vagy 1. { text("Páros, vagy 0", 400, 300); } else { text("Páratlan", 400, 300); } switch ------ switch (kifejezés) { case konstans_kifejezés_1: utasítások_1; break; case konstans_kifejezés_2: utasítások_2; break; default: utasítások_3; break; } Példa a használatra: char ch = 'w'; switch (ch) { case 'w': case 'W': text("Ez vagy 'w' vagy 'W'.", 400, 300); break; case 'a': text("Ez csak 'a' lehet.", 400, 300); break; default: text("Ez minden más esetet lefed.", 400, 300); break; } Feladat ------- Csinálj egy programot, ami egy számról eldönti, hogy az pozitív-e, ha az, akkor írja ki, hogy "Pozitív!", ha negatív a szám, akkor írja ki, hogy "Negatív!", egyébként pedig, hogy "Nulla!". A feladatot old meg if és switch szerkezettel is. Segítség -------- void setup() { size(800, 600); } // if-es megoldás void draw() { int szam = 12; if (szam > 0) { text("Pozitív!", 400, 300); } else if (szam < 0) { text("Negatív!", 400, 300); } else { text("Nulla!", 400, 300); } } // switch-es megoldás, ami csak -10-től 10-ig működik :( void draw() { int szam = -2; switch (szam) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: text("Pozitív!", 400, 300); break; case -1: case -2: case -3: case -4: case -5: case -6: case -7: case -8: case -9: case -10: text("Negatív!", 400, 300); break; default: text("Nulla!", 400, 300); break; } } Ez utóbbi eseten látszik, hogy nem használható erre a feladatra általánosan. Extra feladat ------------- Mi lesz 'a' változó értéke a parancsok futtatása után? int num = 32; int a = num % 3 == 0 ? 10 : 20; Hogy működik a kérdőjel-kettőspont operátor? Megoldás: http://www.inczedy.hu/~szikszai/szg/esti/csharp.pdf (35. oldal lap alján)